package com.haixiaoke.saas.order.service;

import com.haixiaoke.saas.order.domain.OrderSnapshoot;

import java.util.List;

/**
 * 订单快照数据Service接口
 * 
 * @author panda
 * @date 2024-04-10
 */
public interface IOrderSnapshootService {
    /**
     * 查询订单快照数据
     * 
     * @param orderId 订单快照数据主键
     * @return 订单快照数据
     */
    OrderSnapshoot selectOrderSnapshootByOrderId(String orderId);

    /**
     * 查询订单快照数据列表
     * 
     * @param orderSnapshoot 订单快照数据
     * @return 订单快照数据集合
     */
    List<OrderSnapshoot> selectOrderSnapshootList(OrderSnapshoot orderSnapshoot);

    /**
     * 新增订单快照数据
     * 
     * @param orderSnapshoot 订单快照数据
     * @return 结果
     */
    int insertOrderSnapshoot(OrderSnapshoot orderSnapshoot);

    /**
     * 修改订单快照数据
     * 
     * @param orderSnapshoot 订单快照数据
     * @return 结果
     */
    int updateOrderSnapshoot(OrderSnapshoot orderSnapshoot);

    /**
     * 批量删除订单快照数据
     * 
     * @param orderIds 需要删除的订单快照数据主键集合
     * @return 结果
     */
     int deleteOrderSnapshootByOrderIds(String[] orderIds);

    /**
     * 删除订单快照数据信息
     * 
     * @param orderId 订单快照数据主键
     * @return 结果
     */
     int deleteOrderSnapshootByOrderId(String orderId);

    /**
     * 查询订单下的退订规则快照数据
     * @param orderId
     * @return
     */
    OrderSnapshoot selectOrderUnsubscribeRuleByOrderId(String orderId);
}
